#include <cstdio>
int coin[1000] = {0};
int main()
{
    int N, M;
    scanf("%d%d", &N, &M);
    int V;
    while (N--)
    { //读取的同时，统计各个coin值的个数
        scanf("%d", &V);
        ++coin[V];
    }
    int i;
    for (i = 1; i < 501; ++i)
    { //遍历coin数组，同时判断是否有满足要求的组合
        if (coin[i] > 0)
        {
            if (i == M - i)
            {
                if (coin[i] > 1)
                    break;
            }
            else if (coin[M - i] > 0)
            {
                break;
            }
        }
    }
    if (501 == i)
        printf("No Solution\n");
    else
    {
        printf("%d %d\n", i, M - i);
    }
    return 0;
}